package com.xquant.trade.report.mapper;

import com.xquant.trade.report.entity.OpexMonitor;
import com.xquant.trade.report.entity.OpexMonitorDetail;
import org.springframework.stereotype.Repository;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

/**
 * @Auther: B946
 * @Date: 12/03/2020 09:11
 * @Description:
 */
@Repository
public interface OpexMonitorMapper {


    List<OpexMonitor> queryOpexMonitor(OpexMonitor params) throws SQLException;

    List<OpexMonitorDetail> queryOpexMonitorDetailList(OpexMonitorDetail params) throws SQLException;

    void insertOpexMonitor(OpexMonitor params) throws SQLException;

    void updateOpexMonitor(OpexMonitor params) throws SQLException;

    void deleteOpexMonitorDetail(OpexMonitor params) throws SQLException;

    Integer queryDailyPriceCount(Map<String, Object> params) throws SQLException;

    Integer queryInstrumentCount(Map<String, Object> params) throws SQLException;

    Integer queryIrCurveCount(Map<String, Object> params) throws SQLException;

    Integer queryIrCurveRatesCount(Map<String, Object> params) throws SQLException;

    Integer queryDivCurveCount(Map<String, Object> params) throws SQLException;

    Integer queryDivCurveRatesCount(Map<String, Object> params) throws SQLException;

    Integer queryVolSurfaceCount(Map<String, Object> params) throws SQLException;

    Integer queryVolSurfaceRatesCount(Map<String, Object> params) throws SQLException;

    void checkInstrument(Map<String, Object> params) throws SQLException;

    void insertOpexMonitorDetailDaily(OpexMonitor params) throws SQLException;

    void insertOpexMonitorDetailIrCurve(OpexMonitor params) throws SQLException;

    void insertOpexMonitorDetailDivCurve(OpexMonitor params) throws SQLException;

    void insertOpexMonitorDetailVolSurface(OpexMonitor params) throws SQLException;

    void insertOpexMonitorDetailBatch(List<OpexMonitorDetail> list);
}
